package com.eden.manage.dto.user;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import eden.api.common.enums.UserTypeEnum;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;

@Data
public class UserDto {

    /**
     * 主键id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 用户姓名
     * JSR-380
     */
    @NotBlank
    private String userName;

    /**
     * 用户账户
     */
    @NotBlank
    private String userAccount;

    /**
     * 密码
     */
    private String userPassword;

    /**
     * 状态:0-有效;1-无效
     */
    private Integer state;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;



    /**
     * 平台id
     */
    private Long platId;

    /**
     * 代理商id
     */
    private Long agentId;

    /**
     * 类型: 0-超级管理员;1-平台商;2-代理商
     */
    private Integer type;

    /**
     * 联系备注
     */
    private String contextNotes;

    private String platName;

    private String agentName;

    private String belongUnit;
    private String belongUnitInfo;

    public String getBelongUnitInfo() {
        if(getType().equals(0)){
            return UserTypeEnum.ADMIN.name()+"0";
        }
        if(getType().equals(1)){
            return UserTypeEnum.PLAT.name() +getPlatId();
        }
        return UserTypeEnum.AGENT.name()+getAgentId();
    }


}
